package com.msb.tank.net;

import com.msb.tank.constant.MsgType;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.ByteToMessageDecoder;

import java.util.List;

public class MsgDecoder extends ByteToMessageDecoder {

    @Override
    protected void decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out) throws Exception {
//        if (in.readableBytes() < 8) {
//            in.markReaderIndex();
//            final MsgType msgType = MsgType.values()[in.readInt()];
//            int length = in.readInt();
//            if (in.readableBytes() < length) {
//                in.resetReaderIndex();
//                return;
//            }
//            final byte[] bytes = new byte[length];
//            in.readBytes(bytes);
//            Msg msg = null;
//
//            msg = (Msg)Class.forName("com.msb.tank.net." + msgType.toString() + "Msg").getDeclaredConstructor().newInstance();
//            msg.parse(bytes);
//            out.add(msg);
//        }
    }
}
